home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / share / system-config-printer / troubleshoot / QueueRejectingJobs.py < prev    next >
Text File  |  2009-10-19  |  3KB  |  80 lines

  1. #!/usr/bin/env python
  2.  
  3. ## Printing troubleshooter
  4.  
  5. ## Copyright (C) 2008, 2009 Red Hat, Inc.
  6. ## Copyright (C) 2008, 2009 Tim Waugh <twaugh@redhat.com>
  7.  
  8. ## This program is free software; you can redistribute it and/or modify
  9. ## it under the terms of the GNU General Public License as published by
  10. ## the Free Software Foundation; either version 2 of the License, or
  11. ## (at your option) any later version.
  12.  
  13. ## This program is distributed in the hope that it will be useful,
  14. ## but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16. ## GNU General Public License for more details.
  17.  
  18. ## You should have received a copy of the GNU General Public License
  19. ## along with this program; if not, write to the Free Software
  20. ## Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  21.  
  22. import cups
  23. from base import *
  24. class QueueRejectingJobs(Question):
  25.     def __init__ (self, troubleshooter):
  26.         Question.__init__ (self, troubleshooter, "Queue rejecting jobs?")
  27.         solution = gtk.VBox ()
  28.         solution.set_border_width (12)
  29.         solution.set_spacing (12)
  30.         label = gtk.Label ('<span weight="bold" size="larger">' +
  31.                            _("Queue Rejecting Jobs") + '</span>')
  32.         label.set_alignment (0, 0)
  33.         label.set_use_markup (True)
  34.         solution.pack_start (label, False, False, 0)
  35.         self.label = gtk.Label ()
  36.         self.label.set_alignment (0, 0)
  37.         self.label.set_line_wrap (True)
  38.         solution.pack_start (self.label, False, False, 0)
  39.         solution.set_border_width (12)
  40.  
  41.         troubleshooter.new_page (solution, self)
  42.  
  43.     def display (self):
  44.         answers = self.troubleshooter.answers
  45.         if not answers['cups_queue_listed']:
  46.             return False
  47.  
  48.         if answers['is_cups_class']:
  49.             queue = answers['cups_class_dict']
  50.         else:
  51.             queue = answers['cups_printer_dict']
  52.  
  53.         rejecting = queue['printer-type'] & cups.CUPS_PRINTER_REJECTING
  54.         if not rejecting:
  55.             return False
  56.  
  57.         if answers['cups_printer_remote']:
  58.             attrs = answers['remote_cups_queue_attributes']
  59.             reason = attrs['printer-state-message']
  60.         else:
  61.             reason = queue['printer-state-message']
  62.  
  63.         text = (_("The queue '%s' is rejecting jobs.") % answers['cups_queue'])
  64.  
  65.         if reason:
  66.             text += ' ' + _("The reason given is: '%s'.") % reason
  67.  
  68.         if not answers['cups_printer_remote']:
  69.             text += "\n\n"
  70.             text += _("To make the queue accept jobs, select the "
  71.                       "'Accepting Jobs' checkbox in the 'Policies' "
  72.                       "tab for the printer in the printer administration "
  73.                       "tool.") + ' ' + TEXT_start_print_admin_tool
  74.  
  75.         self.label.set_text (text)
  76.         return True
  77.  
  78.     def can_click_forward (self):
  79.         return False
  80.